In a software defined storage environment, a quality of service engine may monitor the characteristics of a storage layer to detect perceived delays, and other issues, which may adversely affect the performance of underlying storage. Additionally, in this environment, if the protocol layer is slower than the underlying storage then the induced delays will affect the performance of guest virtual machines. Examples of the protocol layer may correspond to protocols or specifications for the QUICK EMULATOR hypervisor and/or the NETWORK BLOCK DEVICE, as discussed further below. In addition to the delays affecting the performance of the guest virtual machines, the quality of service engine also may be unable to gauge the capacity of the entire system.
For example, if characteristics of the storage layer are behaving as expected by the quality of service engine, but the protocol layer itself is slow and is inducing significant delays in a critical I/O path, then the performance of guest virtual machines will be affected adversely. This adverse effect will occur even when the quality of service engine is otherwise providing sufficient capacity to the entire system. In other words, the quality of service engine may be effectively unaware of delays, or latency issues, at one or more protocol layers above the storage layer that the quality of service engine monitors. In view of the above, the instant disclosure, therefore, identifies and addresses a need for improved systems and methods for managing quality of service.